python refactoring